html,
body,
#root {
  height: 100%;
  margin: 0;
  padding: 0;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu',
    'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;
}
:root {
  --color-primary: #fa541c;
}

.colorWeak {
  filter: invert(80%);
}

.ant-layout {
  min-height: 100vh;
}
.ant-pro-sider.ant-layout-sider.ant-pro-sider-fixed {
  left: unset;
}

canvas {
  display: block;
}

body {
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

ul,
ol {
  list-style: none;
}

@media (max-width: 768px) {
  .ant-table {
    width: 100%;
    overflow-x: auto;
    &-thead > tr,
    &-tbody > tr {
      > th,
      > td {
        white-space: pre;
        > span {
          display: block;
        }
      }
    }
  }
}

// 统一顶部和侧边栏颜色配置
.ant-layout-header {
  background-color: var(--menu-colorBgContainer, #ffffff) !important;
  border-bottom: 1px solid var(--menu-colorBorder, #f0f0f0) !important;

  .ant-pro-layout-header {
    background-color: var(--menu-colorBgContainer, #ffffff) !important;
  }

  .ant-pro-layout-header-content {
    background-color: var(--menu-colorBgContainer, #ffffff) !important;
  }

  .ant-pro-layout-header-content-left {
    background-color: var(--menu-colorBgContainer, #ffffff) !important;
  }

  .ant-pro-layout-header-content-right {
    background-color: var(--menu-colorBgContainer, #ffffff) !important;
  }

  // 顶部文字颜色
  .ant-pro-layout-header-content-left,
  .ant-pro-layout-header-content-right {
    color: var(--menu-colorText, #000000d9) !important;
  }

  // 顶部按钮和图标颜色 - 移除按钮颜色覆盖，让 Ant Design 主题系统处理
  .anticon {
    color: var(--menu-colorText, #000000d9) !important;
  }
}

// 菜单颜色配置
.ant-layout-sider {
  background-color: var(--menu-colorBgContainer, #ffffff) !important;

  .ant-menu {
    background-color: var(--menu-colorBgContainer, #ffffff) !important;

    .ant-menu-item {
      color: var(--menu-colorText, #000000d9) !important;

      &:hover {
        color: var(--color-primary, #fa541c) !important;
        background-color: var(--menu-colorBgElevated, #ffffff) !important;
      }

      &.ant-menu-item-selected {
        color: #ffffff !important;
        background-color: var(--color-primary, #fa541c) !important;
      }
    }

    .ant-menu-submenu {
      .ant-menu-submenu-title {
        color: var(--menu-colorText, #000000d9) !important;

        &:hover {
          color: var(--color-primary, #fa541c) !important;
        }
      }

      &.ant-menu-submenu-selected {
        .ant-menu-submenu-title {
          color: var(--color-primary, #fa541c) !important;
        }
      }
    }

    .ant-menu-item-group-title {
      color: var(--menu-colorTextSecondary, #00000073) !important;
    }
  }
}

// 深色主题菜单和顶部
.ant-layout-sider-dark {
  background-color: var(--menu-colorBgContainer, #001529) !important;

  .ant-menu {
    background-color: var(--menu-colorBgContainer, #001529) !important;

    .ant-menu-item {
      color: var(--menu-colorText, #ffffff) !important;

      &:hover {
        color: #ffffff !important;
        background-color: var(--menu-colorBgContainer, #001529) !important;
      }

      &.ant-menu-item-selected {
        color: #ffffff !important;
        background-color: var(--color-primary, #fa541c) !important;
      }
    }

    .ant-menu-submenu {
      .ant-menu-submenu-title {
        color: var(--menu-colorText, #ffffff) !important;

        &:hover {
          color: var(--color-primary, #fa541c) !important;
        }
      }

      &.ant-menu-submenu-selected {
        .ant-menu-submenu-title {
          color: var(--color-primary, #fa541c) !important;
        }
      }
    }

    .ant-menu-item-group-title {
      color: var(--menu-colorTextSecondary, #ffffffd9) !important;
    }
  }

  .ant-layout-sider-children {
    border-right: none !important;
  }

  .ant-layout-sider-trigger {
    color: var(--menu-colorText, #ffffff) !important;
    background-color: var(--menu-colorBgContainer, #001529) !important;
    border-top: 1px solid var(--menu-colorBorder, #303030) !important;
    border-right: none !important;
  }
}

// 确保 ProLayout 组件也使用统一颜色
.ant-pro-layout {
  .ant-pro-layout-header {
    background-color: var(--menu-colorBgContainer, #ffffff) !important;
  }

  .ant-pro-layout-sider {
    background-color: var(--menu-colorBgContainer, #ffffff) !important;
  }
}

// 响应式设计
@media (max-width: 768px) {
  .ant-layout-sider {
    .ant-menu {
      font-size: 14px;
    }
  }
}

.ant-tabs-nav-wrap {
  padding: 6px 20px;
}
.ant-page-header-no-children {
  height: 0;
}

.ant-pro-page-container-children-container {
  padding-block-end: 0;
  padding-inline: 20px;
}

.editA {
  color: var(--color-primary) !important;
  cursor: pointer;
}
.deleteA {
  color: var(--color-primary) !important;
  cursor: pointer;
}
.disableA {
  color: #999 !important;
  pointer-events: none;
}
.ant-tabs .ant-tabs-tab.ant-tabs-tab-active .ant-tabs-tab-btn {
  color: var(--color-primary) !important;
}

.ant-tabs .ant-tabs-ink-bar {
  background: var(--color-primary) !important;
}

// 全局按钮主题样式
.ant-modal-content {
  .ant-btn-color-primary {
    background-color: var(--color-primary, #fa541c) !important;
    border-color: var(--color-primary, #fa541c) !important;
  }
}

.ant-btn-default {
  color: var(--menu-colorText, #000000d9) !important;
  background-color: var(--menu-colorBgContainer, #ffffff) !important;
  border-color: var(--menu-colorBorder, #f0f0f0) !important;

  &:hover {
    color: var(--color-primary, #fa541c) !important;
    border-color: var(--color-primary, #fa541c) !important;
  }

  &:focus {
    color: var(--color-primary, #fa541c) !important;
    border-color: var(--color-primary, #fa541c) !important;
  }
}

// 链接按钮样式
.ant-btn-link {
  color: var(--color-primary, #fa541c) !important;

  &:hover {
    color: var(--color-primary, #fa541c) !important;
    opacity: 0.8;
  }
}

// 文本按钮样式
.ant-btn-text {
  color: var(--menu-colorText, #000000d9) !important;

  &:hover {
    color: var(--color-primary, #fa541c) !important;
    background-color: var(--menu-colorBgElevated, #ffffff) !important;
  }
}

.ant-picker-now-btn {
  color: var(--color-primary, #fa541c) !important;
}
